Two major telecommunication networks have evolved worldwide. The first is a network of telephone systems in the form of the Public Switched Telephone System (PSTN). This network was initially designed to carry voice communication, but later also adapted to transport data. The second is a network of computer systems in the form of the Internet. The Internet has been designed to carry data but also increasingly being used to transport voice and multimedia information. Computers implementing telephony applications have been integrated into both of these telecommunication networks to provide enhanced communication services. For example on the PSTN, computer telephony integration has provided more functions and control to the POTS (Plain Old Telephone Services). On the Internet, computers are themselves terminal equipment for voice communication as well as serving as intelligent routers and controllers for a host of terminal equipment.
FIG. 1A illustrates a typical configuration of a conventional computer telephony server operating with a Public Switched Telephone Network (PSTN) and/or the Internet. Telephone service is traditionally carried by the PSTN. The PSTN 10 includes a network of interconnected local exchanges or switches 12. Around each exchange is provisioned a cluster of telephone lines to which telephones, modems, and facsimile machines may be attached. Other private exchanges such as Private Brach Exchange (PBX) 20 may also be connected to the PSTN to form a public/private telephone network. Voice or data is carried from a source node to a destination node on the network by establishing a circuit path along the PSTN effected by appropriately switching the interconnecting exchanges. The point-to-point transmission is therefore circuit-switched, synchronous and using a dedicated channel of fixed bandwidth (64 kbs). With the introduction of digital networks, the exchanges have mostly been upgraded to handle digital, time-division multiplexed trunk traffic between the exchanges. External digital communication systems typically communicate with the PSTN by interfacing with an exchange such as 12. A common digital interface at the exchange is PRI (Primary Rate Interface), which is part of an ISDN (Integrated Services Digital Network) and is usually provided by a T1 or E1 trunk line. Depending on the bandwidth requirement of the external system, the interface with an exchange may require from one to a multiple of PRI connections.
The Internet 30 is a worldwide interconnection of IP (Internet Protocol) networks, with interconnecting computers communicating with each other using TCP/IP (Transmission Control Protocol/Internet Protocol). Some of the computers may also be interconnected by a private segment of the IP network with restricted access. On an IP network, data from a source node is cast into a number of packets that may individually be transported via multiple paths on the network to be reassembled at a destination node. The transmission on the IP network is packet-switched and asynchronous.
On an IP network, voice or multimedia information can also be digitized as data and transported over the network using the Internet Protocol (IP). In that case, it is generally referred to as VoIP or (Voice-over-IP). The H.323 standard promulgated by the ITU (International Telecommunication Union) aims to ensure VoIP interoperability. It provides a specification for communication of multimedia such as voice, data and video between terminal equipment over IP networks. The terminal equipment communicating on the Internet includes personal computers with telephony capabilities 40, VoIP phones 42 that can connect to the Internet directly, and other networked telephony appliances.
In recent years, the World Wide Web (WWW) has become a universal platform for information dissemination on the Internet. Web applications 44 in general and web pages in particular are written in HTML (HyperText Markup Language) and are hosted by web servers 46 on the Internet. Each web page can be called up by its URL (Uniform Resource Locator), which is its IP address on the Internet. These web pages may be requested and processed by a web browser running on a computer connected to the Internet. The web browser retrieves the web page under HTTP (HyperText Transfer Protocol) and parses the HTML codes on the web page to execute it. Typically, the execution of HTML codes on a web page results in rendering it into a display page on the browser or client computer. In other instances, it may result in the execution of some backend functions on the client and/or server computers. One reason for the widespread acceptance of the WWW is the relative ease with which web applications can be created and deployed, and the existence of standardized web browsers. HTML, with its tag-coding scheme, is now well known to everyone from the professional developer to the savvy end user. More recently, XML (Extensible Markup Language) has been introduced to extend HTML with enhanced features including customizable tags that allow for more structural specification of data.
Telephony or Computer Telephony Integration (CTI) involves using a computer to control and manage a phone or a telephone system. When applied to a phone or a terminal equipment, CTI provides added features to an end user's phone. When applied to a telephone system whether as part of the PSTN or part of an IP telephony network system, CTI is usually implemented with a CT (Computer Telephony) server, such as CT server 50. Such a server executes telephony applications that can provide custom services such as interactive voice response, customer service or help desk for an organization. The CT server 50 can be configured to interface via a PSTN interface 52 with an exchange 12 to receive and process calls pertaining to a predefined set of telephone numbers on the PSTN. Similarly, it can also be configured to interface via an IP network interface 54 with the Internet to receive and process calls pertaining to a predefined set of telephone numbers or IP addresses. The CT server 50 is usually a computer operating under UNIX or Microsoft Windows NT and is running installed customized application software 56 for the various voice applications. The CT server provides a set of APIs 58 (Application Program Interfaces) which are procedures, protocols and tools for building software applications. These APIs are generally proprietary and specific to the individual hardware manufacturers. Developing an application on an existing CT server would involve a highly specialized application developer undertaking a fairly complex task of coding the application in C++ or JAVA programming language and employing and invoking the APIs specific to the hardware.
U.S. Pat. No. 6,011,844 discloses a distributed call center system in which a business call center running a custom interactive voice response application is essentially replicated in a number of local points of presence to reduce communication cost when connecting a local customer.
FIG. 1B illustrates a Point-Of-Presence call center management system disclosed in U.S. Pat. No. 6,011,844. The system is designed to minimize long distance toll call when a customer 70 is calling a business call center 60. The business call center typically runs a customized interactive voice response application 66 that implements a complete business solution to answer, service, queue and route inbound customer calls. The customer 70 at a local exchange 72 will in general be calling long distance to the business call center 60 that is local to a remote exchange 74. When the customer requests to speak to a live agent 68 at the business call center, his or her call is queued until an agent is available. Thus, during the long distance call, apart from interacting with the interactive voice responses, a substantial portion of time could be incurred while waiting to speak to an agent. To reduce the long distance connection time, the POP call center management system deploys a number of POP call centers 80 across the Public Switched Telephone Network (PSTN) 10 so that a customer's call at a local exchange 72 is intercepted at a local POP call center 80. Each POP call center essentially serves as a local-presence business call center except without the live agent. This is accomplished by having each POP call center executing the application such as 66′, 66″ locally. The local applications 66′, 66″ can be full replicas of the application 66 residing at the business call center or they can be partial ones with some of the resources such as voice prompts, menus, etc., being accessed dynamically from the application 66 as needed. The application 66 that resides at the business call center is accessible by the POP call centers via an interconnecting virtual private network 90. Optionally, HTML or XML may be used when the POP call center accesses conveniently packaged units of information or applications from the business call center across the call center virtual private network 90. Thus, with the exception of speaking to a live agent, the customer's call is basically handled at a POP call center local to the customer. When the customer requests to speak to a live agent, a queue is set up at the business call center until an agent becomes available. Only then will the POP call center convert the customer's local call to a long distance call to the business call center. The voice traffic for the interactive voice response portion is carried between the local exchange 72 and a POP call center 80. The voice traffic between the customer 70 and a live agent 68 is carried via a long distance portion 76 of PSTN, or in other disclosed embodiments, over the call center virtual private network 90 or the Internet 30.
Prior computer telephony systems have infrastructures that do not allow easy development and deployment of telephony applications. The system illustrated in FIG. 1A requires the telephony application to be hosted in a call center type of telephony server and requires specialized knowledge of the telephony hardware to develop telephony applications. The same is true for the system illustrated in FIG. 1B with the variation that the call center is effectively replicated at various local points of presence on the global telephone network.